AE 443 · Experimental Dynamics and Control Laboratory · Spring 2026 · ERAU
The system Lagrangian L = T − V was formed using the kinetic energy T = ½J_eqθ̇² + ½J_l(θ̇ + α̇)² and elastic potential V = ½K_sα². Applying the Euler-Lagrange equations yielded two coupled equations of motion — a servo equation and a link equation. Solving these with B_l = 0 (undamped link assumption) produced the 4×4 state matrix A and 4×1 input matrix B.
Natural frequency was extracted from the free-oscillation response using three successive peak amplitudes to compute the period T_osc, the damped natural frequency ω_d, the subsidence (decrement) ratio δ, the damping ratio ζ, and finally ω_n = ω_d / √(1−ζ²). Stiffness was then calculated as K_s = J_lω_n².
Three scripts handled the free-oscillation plot, model validation comparison, and state-space / transfer function derivation. Full script: Lab 2 Appendix A.
% Experiment 1: Free-oscillation plot
figure();
plot(data_alpha(:,1), data_alpha(:,2), 'r', 'LineWidth', 1.5);
grid on;
xlabel('Time (s)'); ylabel('Angle (Deg)');
title('Free-Oscillation');
% Experiment 2: Model validation — servo angle
figure();
plot(data_theta(:,1), data_theta(:,2), 'LineWidth', 1.5); % simulated
hold on
plot(data_theta(:,1), data_theta(:,3), 'LineWidth', 1.5); % measured
xlabel('Time (s)'); ylabel('Servo Angle (Deg)');
title('Model Validation');
legend('Simulated Servo Angle', 'Measured')
% State-space → transfer function and poles
sys = ss(A, B, C, D);
TF = tf(sys) % 2×1 transfer function [theta/u; alpha/u]
poles = eig(A) % open-loop poles